package com.insight.common.api;

import com.insight.common.system.vo.DictModel;

import java.util.List;
import java.util.Map;

/**
 * 字典API接口，提供字典相关的翻译与查询方法。
 */
public interface DictAPI {

    /**
     * 根据表、字段、编码、key进行字典翻译
     * @param table 表名
     * @param text 字段名
     * @param code 字典编码
     * @param key 字典key
     * @return 翻译结果
     */
    String translateDictFromTable(String table, String text, String code, String key);

    /**
     * 普通字典翻译
     * @param code 字典编码
     * @param key 字典key
     * @return 翻译结果
     */
    String translateDict(String code, String key);
    /**
     * 根据表、字段、编码、多个key进行批量字典翻译
     * @param table 表名
     * @param text 字段名
     * @param code 字典编码
     * @param keys 多个key，逗号分隔
     * @return 字典模型列表
     */
    List<DictModel> translateDictFromTableByKeys(String table, String text, String code, String keys);
    /**
     * 多字典、多key批量翻译
     * @param dictCodes 多个字典编码，逗号分隔
     * @param keys 多个key，逗号分隔
     * @return 字典编码与字典模型列表的映射
     */
    Map<String, List<DictModel>> translateManyDict(String dictCodes, String keys);
}
